home *** CD-ROM | disk | FTP | other *** search
/ Pascal Super Library / Pascal Super Library (CW International)(1997).bin / LIBRARY / BPL70N16 / TESTPRGS.ZIP / DENORMTS.PAS < prev    next >
Pascal/Delphi Source File  |  1993-03-07  |  1KB  |  52 lines

  1. PROGRAM DenormTst; { Copyright (c) 1990-1993 Norbert Juffa }
  2.  
  3. { DenormTst checks support and correct printing of denormals }
  4.  
  5. {$N+,E+}
  6.  
  7. VAR E: EXTENDED;
  8.     D: DOUBLE;
  9.     S: SINGLE;
  10.  
  11. BEGIN
  12.    WriteLn ('Testing support and printing of denormals');
  13.    WriteLn;
  14.    Write ('Coprocessor is: ');
  15.    CASE Test8087 OF
  16.       0: WriteLn ('Emulator');
  17.       1: WriteLn ('8087 or compatible');
  18.       2: WriteLn ('80287 or compatible');
  19.       3: WriteLn ('80387 or compatible');
  20.    END;
  21.    WriteLn;
  22.    S := 1.18e-38;
  23.    S := S * 3.90625e-3;
  24.    IF S = 0 THEN
  25.       WriteLn ('SINGLE denormals not supported')
  26.    ELSE BEGIN
  27.       WriteLn ('SINGLE denormals supported');
  28.       WriteLn ('SINGLE denormal prints as:   ', S);
  29.       WriteLn ('Denormal should be printed as 4.60943...E-0041');
  30.    END;
  31.    WriteLn;
  32.    D := 2.24e-308;
  33.    D := D * 3.90625e-3;
  34.    IF D = 0 THEN
  35.       WriteLn ('DOUBLE denormals not supported')
  36.    ELSE BEGIN
  37.       WriteLn ('DOUBLE denormals supported');
  38.       WriteLn ('DOUBLE denormal prints as:   ', D);
  39.       WriteLn ('Denormal should be printed as 8.75...E-0311');
  40.    END;
  41.    WriteLn;
  42.    E := 3.37e-4932;
  43.    E := E * 3.90625e-3;
  44.    IF E = 0 THEN
  45.       WriteLn ('EXTENDED denormals not supported')
  46.    ELSE BEGIN
  47.       WriteLn ('EXTENDED denormals supported');
  48.       WriteLn ('EXTENDED denormal prints as: ', E);
  49.       WriteLn ('Denormal should be printed as 1.3164...E-4934');
  50.    END;
  51. END.
  52.